package designpattern.strategy.now.discount;

/**
 * @author zhaoqiankun
 * @since 2021-12-27 0:57
 * 四种具体策略类，继承⾃抽象策略类 AbstractDiscount，并在 discount ⽅法中实现具体的打折
 * ⽅案（算法）
 */
public abstract class AbstractDiscount {

    /**
     * 最终价格
     */
    protected double finalPrice;
    /**
     * 描述
     */
    protected String desc;

    public double getFinalPrice() {
        return finalPrice;
    }
    public void setFinalPrice(double finalPrice) {
        this.finalPrice = finalPrice;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }

    public AbstractDiscount(String desc) {
        this.desc = desc;
    }

    public abstract double discount(double price);
}
